//----------------------------------------------------------
// HUD.h
//   HUD abstract class
// All member functions must be implemented
//----------------------------------------------------------

#ifndef _HUD_H_
#define _HUD_H_

#define D3D_DEBUG_INFO
#include <d3d9.h>
#include <d3dx9core.h>

#include "Engine.h"
#include "Utilities/Variables.h"

class HUD {
public:
	HUD() {}
	~HUD() {}

	virtual bool Initialize(LPDIRECT3DDEVICE9 pD3DDevice, Engine* pEngine, gamemode_t eMode) = 0;
	virtual bool Shutdown() = 0;

	virtual bool InitFonts() = 0;
	virtual void CreateRects() = 0;
	virtual void DisplayText() = 0;

	virtual bool InitTextures() = 0;
	virtual void DisplayTextures() = 0;

	//virtual bool timerOn() = 0;
	virtual void ShowTimer(bool timer) = 0;
	//virtual float GetTimer() = 0;
	//virtual void ResetTimer(float newTime) = 0;

	virtual gamemode_t GetGameMode() = 0;
};

#endif
